﻿#include <iostream>
using namespace std;
#include <vector>
#include <numeric>
#include <algorithm>
//常用集合算法 set_intersection
void Myprint(int val)
{
	cout << val << "  ";
}
void test01()
{
	vector<int> v1;
	vector<int>v2;
	vector<int>v3;//目标容器
	for (int i = 0; i < 10; i++)
	{
		v1.push_back(i); //0~9
		v2.push_back(i + 5); //5~14
	}
	//目标容器需要提前开辟空间
	//最特殊情况，大容器包含小容器，开辟空间取小容器的值
	v3.resize(v1.size());
	//获取交集
	vector<int>::iterator it=set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());
	for_each(v3.begin(), it, Myprint);  //这里不能用v.end
}
int main()
{
	test01();
}